package cn.stylefeng.guns.modular.storage.entity;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Data;

/**
 * 入库单明细表
 */
@TableName("storage_put_single")
@Data
public class StoragePutSingle implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 入库状态
     */
    @TableField("single_state")
    private String singleState;

    /**
     * 库存id
     */
    @TableField("stock_id")
    private Long stockId;

    /**
     * 入库单编号
     */
    @TableField("storage_number")
    private String storageNumber;

    /**
     * 库位名称
     */
    @TableField("position_name")
    private String positionName;

    /**
     * 库位编号
     */
    @TableField("position_number")
    private String positionNumber;

    /**
     * 托盘编号
     */
    @TableField("tray_number")
    private String trayNumber;

    /**
     * 商品名称
     */
    @TableField("goodsname")
    private String goodsname;

    /**
     * 商品id
     */
    @TableField("goods_id")
    private Long goodsId;

    /**
     * 商品编号
     */
    @TableField("goods_number")
    private String goodsNumber;

    /**
     * 货号
     */
    @TableField("goods_no")
    private String goodsNo;

    /**
     * 工厂号
     */
    @TableField("factory")
    private String factory;

    /**
     * 应入大包数
     */
    @TableField("put_balenum")
    private String putBalenum;

    /**
     * 应入数量
     */
    @TableField("put_num")
    private String putNum;

    /**
     * 实际数量
     */
    @TableField("real_num")
    private String realNum;

    /**
     * 应入重量
     */
    @TableField("put_weight")
    private String putWeight;

    /**
     * 重量
     */
    @TableField("goods_weight")
    private String goodsWeight;

    /**
     * 应入体积
     */
    @TableField("detailed_putvolume")
    private String detailedPutvolume;

    /**
     * 体积（M3）
     */
    @TableField("goods_volume")
    private String goodsVolume;

    /**
     * 单价
     */
    @TableField("unitprice")
    private String unitprice;

    /**
     * 金额
     */
    @TableField("single_money")
    private String singleMoney;

    /**
     * 批号
     */
    @TableField("single_batchnumber")
    private String singleBatchnumber;

    /**
     * 生产日期
     */
    @TableField("single_dateofmanufacture")
    private String singleDateofmanufacture;

    /**
     * 推荐批次
     */
    @TableField("recommend")
    private String recommend;

    /**
     * 重泡货
     */
    @TableField("single_rebubbles")
    private String singleRebubbles;

    /**
     * 商品大类
     */
    @TableField("single_largeclass")
    private String singleLargeclass;

    /**
     * 商品类别
     */
    @TableField("single_goodstype")
    private String singleGoodstype;

    /**
     * 保管条件
     */
    @TableField("single_putcondition")
    private String singlePutcondition;

    /**
     * 单位
     */
    @TableField("goods_unit")
    private String goodsUnit;

    /**
     * 商品包装
     */
    @TableField("single_packing")
    private String singlePacking;

    /**
     * 规格
     */
    @TableField("goods_specs")
    private String goodsSpecs;

    /**
     * 件装量
     */
    @TableField("single_piecenum")
    private String singlePiecenum;

    /**
     * 备注
     */
    @TableField("nodes")
    private String nodes;

    /**
     * 乐观锁
     */
    @TableField("version")
    private Integer version;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 修改时间
     */
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 创建用户
     */
    @TableField(value = "create_user", fill = FieldFill.INSERT)
    private Long createUser;

    /**
     * 修改用户
     */
    @TableField(value = "update_user", fill = FieldFill.UPDATE)
    private Long updateUser;

    /**
     * 入库时间
     */
    @TableField("put_time")
    private Date putTime;

    /**
     * 入库用户名称
     */
    @TableField("put_name")
    private String putName;

	@Override
    public String toString() {
        return "StoragePutSingle{" +
        "id=" + id +
        ", storageNumber=" + storageNumber +
        ", positionName=" + positionName +
        ", positionNumber=" + positionNumber +
        ", trayNumber=" + trayNumber +
        ", goodsname=" + goodsname +
        ", goodsId=" + goodsId +
        ", goodsNumber=" + goodsNumber +
        ", factory=" + factory +
        ", putBalenum=" + putBalenum +
        ", putNum=" + putNum +
        ", realNum=" + realNum +
        ", putWeight=" + putWeight +
        ", goodsWeight=" + goodsWeight +
        ", detailedPutvolume=" + detailedPutvolume +
        ", goodsVolume=" + goodsVolume +
        ", unitprice=" + unitprice +
        ", singleMoney=" + singleMoney +
        ", singleBatchnumber=" + singleBatchnumber +
        ", singleDateofmanufacture=" + singleDateofmanufacture +
        ", recommend=" + recommend +
        ", singleRebubbles=" + singleRebubbles +
        ", singlePacking=" + singlePacking +
        ", singleLargeclass=" + singleLargeclass +
        ", singleGoodstype=" + singleGoodstype +
        ", singlePutcondition=" + singlePutcondition +
        ", singlePiecenum=" + singlePiecenum +
        ", singleState=" + singleState +
        ", nodes=" + nodes +
        ", version=" + version +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        ", createUser=" + createUser +
        ", updateUser=" + updateUser +
        ", putTime=" + putTime +
        ", putName=" + putName +
        "}";
    }
}
